In the last few years, there has been an explosion in new forms of web based communication within a shared space. The synchronous form is most commonly practiced as Online Chat. With synchronous communication, like Online Chat for example, text is exchanged in real-time between participants. Although images can be provided to a limited extent, links to images or other multimedia is more commonly used. Another common form of synchronous communication is with web conferencing services. These services provide a discrete state synchronicity such that only one image can be shared at one time. Typically, once the session has ended, the images shared are lost. Many of the current online collaboration systems are beginning to record the sessions. However, these recording are only recoding a series of images for play back.
The most common asynchronous forms of collaboration are Forums, blogs and WIKIs. In the asynchronous case, visitors can upload text or images so that all subsequent visitors can browse and see the text or images. Blogs and Forums have an advantage over Chat in that conversations can be linked into ‘threads’. This allows the user to follow a set of contributions in a linear and/or nested fashion. Lacking is the real-time aspect as well as the ability to layer media. Currently even if you can upload an image or multimedia clip into a chat room or blog, it is not known for visitors to alter, manipulate or annotate over the original posting. What is common to these forms of shared communication is that they are linear. All information whether text or image, is accessed in order. A comment in a blog about an image does not appear on top of the image, but instead next to it as with ‘threads’. The same holds true for a chat box. Users must cut and paste to refer to a past event.
Lacking is a system that will allow both synchronous and asynchronous communication using discrete media layers such that information can be organized by time and space which in turn can allow for a variety of organizational metaphors.
It will be desirable that multiple users are able to interact with one another and perform a plurality of multimedia tasks in a virtual and synchronized shared environment; or to be able to access and review the performed tasks from local or remote sources at will in any order. It will also be desirable to allow users to set control or restrict the viewing of media layers in the same shared environment through different filtering algorithms. It is also desirable that an original image can seemed to be altered or manipulated by overlaying various media-layers together.
The following terminologies used in the application are selectively defined by an online dictionary such as Wikipedia to help understanding:
Web based shared space—This describes a single point of reference for multiple users to access and add and modify information from a web browser for viewing by others via that same point of reference.
Media (multi)—Multimedia is the use of several different media to convey information (text, audio, graphics, animation, video, and interactivity).
Medium—defined as the singular of multimedia. For example, text, a media, is a singular example of multimedia.
API—An application programming interface (API) is the interface that a computer system or application provides in order to allow requests for service to be made of it by other computer programs, and/or to allow data to be exchanged between them.
Plug-in—A plug-in is a computer program that can, or must, interact with another program to provide a certain, usually very specific, function. Typical examples are plug-in to display specific graphic formats (e.g., SVG if the browser doesn't support this format natively), to play multimedia files, to encrypt/decrypt email (e.g., PGP), or to filter images in graphic programs. The main program (a web browser or an email client, for example) provides a way for plug-in to register themselves with the program, and a protocol by which data is exchanged with plug-in. Plug-ins are slightly different from extensions, which modify or add to existing functionality. The main difference is that plug-in generally run within a sandbox, rely on the main program's user interface, and have a well-defined boundary to their possible set of actions.
Media-layer (media layer) (layer)—A media-layer is defined as a container that supports the display and modification of media and plug-ins. Media-layers have meta information, or attributes, such as; author, time/date created, its parent media-container, a list of children media-containers, position within 3D space, stacking order relative to the parent media-layer, size, reference to media or a plug-in that is assigned to the media-layer, etc.
Images—defined as photographs, drawings (vector and raster), diagrams, etc.
Annotation—Extra information associated with a particular point in a document or other piece of information.
Common Web Browser—A web browser is a software application, technically a type of HTTP client, that enables a user to display and interact with HTML documents hosted by web servers or held in a file system. Popular browsers available for personal computers include Microsoft Internet Explorer.®., Mozilla Firefox.®., Opera.°0., Netscape.®., Apple Safar.®.i and Konqueror.®.. A browser is the most commonly used kind of user agent. The largest networked collection of linked documents is known as the World Wide Web. It is assumed that all common web browser will have Macromedia Flash.®. installed or will support the installation and proper execution of Flash.®. applications.
Account Owner (creator)—The person who owns, creates or maintains or provided stewardship over a particular session and all options, rights relevant to that session.
Space Creator—The User creates an account to which a ‘space’ is allocated where other individuals also using a browser can engage in the synchronized or unsynchronized viewing and annotating of images.
Blog—A blog is a website in which journal entries are posted on a regular basis and displayed in reverse chronological order. The term blog is a shortened form of web log or web log. Authoring a blog, maintaining a blog or adding an article to an existing blog is called “blogging”. Individual articles on a blog are called “blog posts,” “posts” or “entries”. A person who posts these entries is called a “blogger”. A blog comprises hypertext, images, and links (to other WebPages and to video, audio and other files). Blogs use a conversational documentation style. Often blogs focus on a particular “area of interest”, such as Washington, D.C.'s political goings-on. Some blogs discuss personal experiences.
Threads—Threads in a forum are either flat (posts are listed in chronological order) or threaded (each post is made in reply to a parent post). Sometimes, community members have a choice on how to display threads.
Online Chat—Online chat can refer to any kind of communication over the internet, but is primarily meant to refer to direct 1 on 1 chat or chat rooms, using tools such as instant messenger applications-computer programs, Internet Relay Chat, talkers and possibly MUDs, MUCKs, MUSHes and MOOes.
Room—A Room is a common reference to a ‘shared space’. A room contains default tools, rules and permissions that are set and controlled by the room administrator.
Space—A shared virtual reference point where as multiple users can interact in real-time upon shared objects.
Stage—A reference coordinate system that informs where media should be displayed. The most typical stage is a two dimensional Cartesian coordinate system where 0,0 is position in the upper right of the display area.
Session State—The state of all objects, GUI tools and controls, and media-layers, at any given time.
Collection—One or more media-layers that have an organizational structure. Typically this is stored as an XML file.
Tools—GUI applications that affect the state of other tools and media-layers.
Tool: scene manager—specific GUI applications that affect the overall display of the stage.
Event—A set of codes that describe the modification of a media-layer.
WIKI—A website that allows the visitors themselves to easily add, remove, and otherwise edit and change available content, and typically without the need for registration.
Network—A computer network is two or more computers connected together using a telecommunication system for the purpose of communicating and sharing resources. Examples include but are not limited to a WAN or LAN connection or an internet, intranet or extranet connection
A sidebar is a panel within a browser such as Windows® desktop (Windows is a registered trademark of Microsoft Corporation). Sidebars often perform various tasks, such as displaying the time and date and showing the CPU usage.
A whiteboard is a drawing utility, commonly supplied as part of a collaboration framework to allow distributed users to share a common drawing space.